package tables

// ExamResult 用户考试结果
type ExamResult struct {
	Id          int64   `json:"id,string" gorm:"primaryKey"`
	UserId      int64   `json:"userId,string"`      // 用户id
	ExamPaperId int64   `json:"examPaperId,string"` // 试卷ID
	QuestionId  int64   `json:"questionId,string"`  // 试题ID
	UserAnswer  string  `json:"userAnswer"`         // 用户的回答
	Scored      float64 `json:"scored"`             //用户获得的分数
	ScoredMode  int     `json:"ScoredMode"`         // 分数获取方式,1-系统自动判分 ,2-人工打分
	AutoCreateInfo
}

func (r *ExamResult) TableName() string {
	return "lms_exam_result"
}

// OptionExamResultLog 对考试结果进行操作时的日志记录,只有人工干预 ExamResult 数据时才会写入记录，
// 例如调整用户分值，删除用户考试结果等
type OptionExamResultLog struct {
	Id           int64 `json:"Uid,string" gorm:"primaryKey"`
	ExamResultId int64 `json:"ExamResultId,string"`
	// json 格式，后面在考虑扩展多字段，这个地方还没想好
	Option string `json:"Option"` // 用户操作
	AutoCreateInfo
}

func (r *OptionExamResultLog) TableName() string {
	return "lms_exam_result_option_log"
}
